1. Field of the Invention
The present invention relates generally to defining and displaying a tool palette by which execution of application programs in a windowing environment may be initiated. More specifically, the present invention relates to a method and apparatus for separating static and dynamic windowing functions (commonly referred to as "tool palettes") wherein the dynamic windowing function display is modified in accordance with a context environment of the currently operating application program.
2. Description of the Related Art
Window application products such as Microsoft Excel for Windows.RTM. are known as a software application for performing and processing tasks by jumping between user selected application programs (hereinafter "applet"). Each applet is an independent function, such as an input function or an output function, and collectively the applets permit the operator to perform a specific task.
There are at least two types of applets: a container-type applet or an editor-type applet. Container applets represent containers in which data or other containers are to be held. For example, a container applet such as a "file cabinet" is a type of container ordinarily at the top of the hierarchy of containers. A file cabinet contains folders, messages, and data objects, each of which is also a container. A container applet could also be a folder which may be a general folder or a mailbox folder. A container applet may also be a message wherein the message may be a facsimile message, phone message, modem message or an E-mail message. All of the above folders and messages may be contained in the file cabinet container.
On the other hand, editor applets create or manipulate data to be stored in a designated container such as a general folder or a facsimile message. Editor applets ordinarily do not permanently store data. For example, a message editor edits a message that is stored in a general folder or may request the message to be faxed.
In a windowing environment, each applet, whether it be a container or an editor, is represented in a display such as an icon display as a "tool" to perform a given function. A combination of the tools are commonly referred to as a "tool palette". Each applet, once selected, operates to open a window which is brought to the foreground of the display. The window may also be overlapped onto a previously opened window if the previous function has not been "closed out". However, only a window which is "in focus" is the currently operating window until it is closed or temporarily yields focus to another window.
The currently executing container applet determines the tool functions that are displayed in the tool palette. That is, the appearance of the tool palette is determined in accordance with the needs of a container applet. However, since the software application of tool palettes differ from one window to another, a user may be confused by a constantly changing tool palette display and therefore the user loses his/her point of reference for commonly used tools.
Some window application products have tried to resolve the above-mentioned confusion by providing a static tool display as illustrated in FIG. 1. In a static tool display of FIG. 1, all tools remain displayed regardless of which applet is currently operating even though some of the tools are not operable or are completely unrelated to the presently operating applet. This solution, however, is also confusing since an operator may attempt to select a tool which is not selectable from that applet.
On the other hand, other window application products have tried to resolve this problem by having a dynamic tool palette display in which tools are added and subtracted as they become applicable to an applet. An example of a dynamic tool palette is shown in FIG. 2 in which tool functions are added or subtracted from the tool palette display as the tool functions become applicable to a specific applet. However, this solution is confusing also since commonly used tools are shifted around in the display, thus, confusing the user.